I. Field of the Invention
The present invention relates generally to wireless communication systems, and more specifically, to a system for narrowing the range of frequency uncertainty of a detected pilot signal with an unknown, but bounded amount of Doppler shift.
II. Description of the Related Art
A variety of multiple access communication systems and techniques have been developed for transferring information among a large number of system users. However, spread spectrum modulation techniques, such as code division multiple access (CDMA) spread spectrum techniques, provide significant advantages over other modulation schemes, especially when providing service for a large number of communication system users. The use of CDMA techniques in multiple access communication systems is disclosed in U.S. Pat. No. 4,901,307, which issued Feb. 13, 1990, entitled xe2x80x9cSpread Spectrum Multiple Access Communication System Using Satellite Or Terrestrial Repeaters,xe2x80x9d and U.S. Pat. No. 5,691,974, which issued Nov. 25, 1997, entitled xe2x80x9cMethod And Apparatus For Using Full Spectrum Transmitted Power In A Spread Spectrum Communication System For Tracking Individual Recipient Phase Time And Energy,xe2x80x9d both of which are assigned to the assignee of the present invention, and incorporated herein by reference.
These patents disclose communication systems in which a large number of generally mobile or remote system users or subscriber units (xe2x80x9cuser terminalsxe2x80x9d) employ at least one transceiver to communicate with other user terminals, or users of other connected systems, such as a public telephone switching network. Communication signals are transferred either through satellite repeaters and gateways, or directly to terrestrial base stations (also sometimes referred to as cell-sites or cells).
In a modern satellite communications system, timing is critical. For example, such systems typically divide communications channels into xe2x80x9cframesxe2x80x9d where each frame is of a known duration. In order to optimize the use of such frames in transferring signals or data, the gateways or base stations and the user terminals must employ some method to ensure synchronization. Therefore, each user terminal is supplied with a device for providing a timing reference. An ideal time reference would supply the user terminal with a signal of a known frequency.
A local oscillator is often used to provide a timing reference in the user terminal. However, no local oscillator is perfect. Local oscillators are subject to frequency drift. When the frequency of the local oscillator drifts, synchronization is lost.
One approach to minimizing local oscillator frequency drift is to fabricate a more accurate local oscillator. However, such very stable local oscillators are very expensive to fabricate, and could unacceptably increase the cost of the user terminal.
Another approach, commonly used in cellular telephone systems, involves the use of a voltage controlled temperature compensated crystal oscillator (VTCXO). The output frequency of a VTCXO can be controlled by varying an input voltage to the VTCXO. The VTCXO is highly resistant to frequency drift caused by temperature changes.
In such a cellular telephone system, each user terminal is supplied with a VTCXO. Each user terminal monitors a pilot signal transmitted by a base station. The user terminal uses the frequency of the pilot signal as a timing reference to adjust the output frequency of the VTCXO by varying the input voltage applied to it. Such an approach can be used in a cellular telephone system because the relative velocities between the base stations and the user terminals are small.
However, in some satellite communication systems, such as low-earth orbit (LEO) satellite communication systems, the relative radial velocities between a satellite and a user terminal can be very large. This large relative radial velocity imposes a large Doppler shift on the pilot signal transmitted by the LEO satellite, rendering this technique inaccurate and potentially unusable as a timing reference. When the satellite transmits a signal at frequency ft, the received signal frequency fr will be:
fr=ftxc2x1fDxe2x80x83xe2x80x83(1)
fD=ftxc2x7[V/c]xe2x80x83xe2x80x83(2)
where:
V=Velocity of transmitter relative to receiver;
c=speed of light in the appropriate medium; and
fD=Doppler frequency shift.
If the satellite is moving toward the user terminal, the period of the electromagnetic wave is compressed and the [+] sign is used in the above equation. If the satellite is moving away from the user terminal, then the electromagnetic wave is elongated, and the [xe2x88x92] is used. The Doppler effect can be expressed as a Doppler ratio of [V/c] where V is the velocity of the transmitter relative to the receiver, and c is the speed of light in the appropriate medium. The magnitude of Doppler frequency shift is the Doppler ratio multiplied by ft.
Doppler shifts are particularly acute in a LEO satellite system. For example, a typical LEO satellite can have a velocity of 7 km/sec relative to a user terminal. With a transmitter frequency of 2.5 GHz, this results in a Doppler ratio of 23 parts per million (or 23 ppm), and a Doppler frequency shift of 58 kHz (as calculated from equation 2 below).
Code Doppler error occurs whenever Doppler frequency shift is present and a digital data stream is being transmitted. Code Doppler error occurs because the transmitter is moving toward or away from the receiver causing the receiver bit rate to be increased or decreased relative to the transmitter bit rate. Code Doppler error is the Doppler ratio [V/c] times the transmitter bit rate. The resulting bit rate at the receiver is transmitter bit rate plus/minus code Doppler error where the [+] sign is used when the transmitter is moving toward the receiver, and the [xe2x88x92] sign is used when the transmitter is moving away from the receiver. This relationship is shown by:
rr=rt+rDxe2x80x83xe2x80x83(3)
rD=rtxc2x7[V/c]xe2x80x83xe2x80x83(4)
where
rr is the receiver bit rate,
rt is the transmitter bit rate, and
rD is the code Doppler error, and V and c are the same as in Equation 1 above.
Code Doppler error is especially harmful in a spread spectrum communications system because of its cumulative effect on pseudonoise (PN) generator synchronization. In a typical spread spectrum communications system, a set of preselected pseudonoise (PN) code sequences is used to modulate (i.e. xe2x80x9cspreadxe2x80x9d) the digital message over a predetermined spectral band prior to modulation of the carrier signal. For a spread spectrum receiver to properly xe2x80x9cdespreadxe2x80x9d the signal, the local PN generator chipping or chip rate (the rate at which chips are generated) must be time synchronized with the received signal chip rate. [xe2x80x9cChipxe2x80x9d is a term of art that refers to a single PN code bit. Digital messages (voice, data, etc.) that have been spread with PN code chips are also sometimes referred to as comprising xe2x80x9cchips,xe2x80x9d although xe2x80x9csymbolsxe2x80x9d is preferred.] If the received signal chip rate is only a fraction of a Hz off, the clock error will accumulate over time causing the PN sequence to loose synchronization with the incoming bit stream. For example, a 0.1 Hz offset between the incoming chip rate and the local PN-generator results in a 0.1 chip per second timing error, which accumulates to 6 chips of timing error in 1 minute. That is, the received signal is shifted in time by 6 chips from where it should be in order for it to be properly despread by the appropriate PN-sequence. Spread spectrum receivers generally require code phase drift to be less than one-half of a chip period to properly despread a signal. Greater than one chip of error produces useless information. Thus, it is important for code Doppler error to be monitored and corrected in spread spectrum receivers.
The present invention is directed toward a system and method of narrowing the range of frequency uncertainty of a detected pilot signal in a satellite communications system, where the pilot signal has an unknown, but bounded amount of Doppler shift. During detection of the pilot signal, information is gained to place the pilot signal within a frequency bin bounded by a lower and upper frequency. The invention shifts the detected pilot signal by a plurality of frequency hypotheses within the frequency bin, and then determines which hypothesis has the largest energy accumulation value. The hypothesis with the largest energy accumulation value is the closest hypothesis to the true center frequency of the pilot signal. Generally, the level of frequency discrimination that results is limited only by the number of frequency hypotheses tested between the lower and upper frequencies. However, when the pilot signal is a spread spectrum signal, there is tradeoff between the number of hypotheses tested and the accuracy of the energy accumulation value. In essence, code Doppler error causes a loss of time synchronization between the spread spectrum pilot signal and pseudonoise (PN) code sequence used to despread the pilot signal. The timing error increases with processing time (or number of hypotheses tested), and if uncorrected will lead to erroneous energy accumulation values for the latter frequency hypotheses.
The invention incorporates two refinements for correcting code Doppler timing error. First, the code Doppler error is estimated based on the final frequency of the frequency bin that is known to contain the detected pilot signal. The invention monitors the accumulation of the timing error over the plurality of frequency hypotheses and corrects the loss of synchronization before the timing error reaches a level that threatens accurate despreading of the pilot signal. The correction is done by advancing or retarding the timing or chip rate of the PN sequence generation relative to its nominal rate.
The code Doppler error calculation is only an estimate since it is based on the assumption that the pilot signal is located at the upper frequency of the frequency bin. In reality, the pilot signal could be anywhere within the frequency bin. Thus, the above correction does not assure the necessary amount of synchronization needed to accurately despread the pilot signal over the plurality of frequency hypotheses. To further reduce the code Doppler error effect, the invention despreads two sets of the detected pilot signal in parallel during each frequency hypothesis. One pilot signal set is labeled xe2x80x9cOn-Timexe2x80x9d, and one pilot signal set is labeled xe2x80x9cLatexe2x80x9d, where the Late set is sampled one-half of a chip period later in time relative to the On-Time sample set. By despreading two sets of pilot signal samples in parallel, where one set is shifted in time relative to the other, the invention achieves an overall reduction in synchronization timing error over the plurality of frequency hypotheses compared to that achieved when only one sample set is processed. This results because the Late sample set achieves minimum timing error at those hypotheses in the center of the pilot signal frequency bin, while the On-Time sample set achieves its minimum timing error for those hypotheses near the edges of the frequency bin.